package com.budwk.app.sqfwV2.enums;

import com.budwk.app.sqfwV2.dto.dto.centuryCity.SafeCheckTaskParamDataDTO;
import com.budwk.app.sqfwV2.dto.dto.dayingRoad.ProblemParamDTO;
import lombok.Getter;
import org.apache.commons.lang3.StringUtils;

import java.util.Arrays;


/**
 *  整改时限枚举
 */

@Getter
public enum
RectificateTimeEnum {

    IMMEDIATE_RECTIFICAIOTN("1", "立即整改"),
    DEADLINE_RECTIFICATION("5", "限期整改");

    private final String code;

    private final String name;

    RectificateTimeEnum(String code, String service) {
        this.code = code;
        this.name = service;
    }

    /**
     * 判断是否为期限整改
     * @return 是 ： 期限整改
     */
    public static boolean isDeadlineRectification(SafeCheckTaskParamDataDTO p, String defaultValue) {
        if (StringUtils.isEmpty(defaultValue) || p.getKey().equals(defaultValue)) {
            return false;
        }
        return RectificateTimeEnum.DEADLINE_RECTIFICATION.getCode().equals(p.getRectificationTypeCode());
    }

    /**
     * 判断是否为期限整改
     * @return 是 ： 期限整改
     */
    public static boolean isDeadline(String rectificationType) {
        if (StringUtils.isEmpty(rectificationType)) {
            return false;
        }
        return RectificateTimeEnum.DEADLINE_RECTIFICATION.getCode().equals(rectificationType);
    }


    public static String getNameByCode(String code) {
        if (StringUtils.isEmpty(code)) {
            return null;
        }
        return Arrays.stream(values()).filter(e -> e.getCode().equals(code)).findAny().get().getName();
    }

    /**
     * 判断是否为立即整改
     * @return 是 ： 立即整改
     */
    public static boolean isNowRectification(String rectificationTypeCode) {
        if (StringUtils.isEmpty(rectificationTypeCode)) {
            return true;
        }
        return RectificateTimeEnum.IMMEDIATE_RECTIFICAIOTN.getCode().equals(rectificationTypeCode);
    }
}
